ypackage at.ac.univie.bi.transformation;

import java.io.IOException;
import java.util.List;

import at.ac.univie.bi.transformation.controller.ExcelController;
import at.ac.univie.bi.transformation.controller.ExportController;
//import at.ac.univie.bi.transformation.controller.ExcelController;
import at.ac.univie.bi.transformation.controller.InputController;
import at.ac.univie.bi.transformation.controller.OutputController;
import at.ac.univie.bi.transformation.model.input.KrankenhausaufenthaltLeistung;
import at.ac.univie.bi.transformation.model.input.Medication;
import at.ac.univie.bi.transformation.model.input.Patient;

public class App 
{
    public static void main( String[] args )
    {
    	OutputController oc = new OutputController();
    	
    	InputController ic = new InputController();
    	ic.readInputs();
    	
    	//transform patients
    	List<Patient> patients = ic.getPatients();
    	oc.transformPatients(patients);  	

    	
  
    	//transform medication
    	List<Medication> medications = ic.getMedications();
      	oc.transfromMedications(medications);
      	oc.showProcessCaseActivities();
      	
      	//transform krankenhausaufenthaltLeistungen
      	List<KrankenhausaufenthaltLeistung> khaLeistungen = ic.getKhaLeistungen();
      	oc.transformKHALeistungen(khaLeistungen);
      	oc.showProcessCaseActivities();
      	
      	
        //excel read & transform patient data
    	ExcelController ec = new ExcelController();
    	try {
			List<Patient> patientsExcel = ec.readPatient();
			oc.transformPatients(patientsExcel);
			
			List<Leistung> leistungExcel = ec.getLeistungen();
			
			oc.transformExcelLeistungen(leistungExcel);
			
			List<Medication> medicationExcel = ec.getMedikation();
			
			oc.transformExcelMedications(medicationExcel);
			
			
		} catch (IOException e) {
			e.printStackTrace();
		}
    	
    	
    	oc.showProcessCases();
    	

    	ExportController exportController = new ExportController();
    	exportController.exportDB();
    	exportController.validateOutput();
    }
}
